From ba302f5c0704927bad93071431752fb647bb578f Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Mon, 9 Jul 2007 09:41:45 +0100 Subject: [PATCH] Fix xm save command for a inactive managed domain. Signed-off-by: Masaki Kanno --- tools/python/xen/xend/XendDomain.py | 6 +++++- tools/python/xen/xm/main.py | 8 +------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index 5820bc566c..502199114b 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -1253,7 +1253,11 @@ class XendDomain: raise XendInvalidDomain(str(domid)) if dominfo.getDomid() == DOM0_ID: - raise XendError("Cannot save privileged domain %i" % domid) + raise XendError("Cannot save privileged domain %s" % str(domid)) + if dominfo._stateGet() != DOM_STATE_RUNNING: + raise VMBadState("Domain is not running", + POWER_STATE_NAMES[DOM_STATE_RUNNING], + POWER_STATE_NAMES[dominfo._stateGet()]) oflags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC if hasattr(os, "O_LARGEFILE"): diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 7f93373bd7..646f796633 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -700,13 +700,7 @@ def xm_save(args): if serverType == SERVER_XEN_API: server.xenapi.VM.save(get_single_vm(dom), savefile, checkpoint) else: - try: - dominfo = parse_doms_info(server.xend.domain(dom)) - except xmlrpclib.Fault, ex: - raise ex - - domid = dominfo['domid'] - server.xend.domain.save(domid, savefile, checkpoint) + server.xend.domain.save(dom, savefile, checkpoint) def xm_restore(args): arg_check(args, "restore", 1, 2) -- 2.30.2